축소 명령어 집합 컴퓨터
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
축소 명령어 집합 컴퓨터(RISC)는 명령어 집합을 단순화하여 고성능을 추구하는 컴퓨터 아키텍처이다. 1960년대 로드/스토어 아키텍처를 기반으로 시작되었으며, 1970년대 IBM 등의 연구를 통해 불필요한 명령어를 줄이고 레지스터와 캐시를 늘리는 방향으로 발전했다. RISC는 고정 길이 명령어, 단일 클럭 명령어 실행, 레지스터 간 연산, 와이어드 로직, 많은 수의 레지스터를 특징으로 하며, CISC와 비교하여 파이프라인 처리 효율성을 높였다. 현재는 ARM, MIPS, POWER, RISC-V 등 다양한 RISC 프로세서가 존재하며, 임베디드 시스템, 스마트폰, 슈퍼컴퓨터 등 다양한 분야에서 활용되고 있다.
더 읽어볼만한 페이지
- 명령어 집합 구조 - ARM 아키텍처
ARM 아키텍처는 저전력 설계로 모바일 기기에서 널리 쓰이는 RISC 기반 프로세서 아키텍처로서, IP 코어 라이선스 모델과 ARM Flexible Access를 통해 다양한 분야로 확장되고 있다. - 명령어 집합 구조 - PA-RISC
PA-RISC는 휴렛 팩커드에서 개발한 RISC 기반 명령어 집합 아키텍처로, HP 서버 및 워크스테이션에 사용되었으며 대용량 L1 캐시와 SIMD 명령어 확장 등의 특징을 가졌으나 아이테니엄 아키텍처로의 전환으로 단종되었다. - 마이크로프로세서 - 중앙 처리 장치
중앙 처리 장치(CPU)는 컴퓨터 시스템의 핵심 부품으로, 프로그램 명령어를 해석하고 실행하여 데이터를 처리하는 장치이다. - 마이크로프로세서 - ARM 아키텍처
ARM 아키텍처는 저전력 설계로 모바일 기기에서 널리 쓰이는 RISC 기반 프로세서 아키텍처로서, IP 코어 라이선스 모델과 ARM Flexible Access를 통해 다양한 분야로 확장되고 있다.
축소 명령어 집합 컴퓨터 | |
---|---|
기본 정보 | |
유형 | 컴퓨터 아키텍처 |
설계 철학 | 단순하고 효율적인 명령어 세트 |
주요 특징 | 고정 길이 명령어 적은 수의 명령어 형식 레지스터-레지스터 연산 (load/store 아키텍처) 단순한 주소 지정 방식 많은 수의 레지스터 |
역사 | |
개발 배경 | 복잡한 CISC 아키텍처의 단점 극복 |
주요 개발자 | 존 코크, 데이비드 패터슨, 카를로스 H. 세퀸 |
최초의 RISC 아키텍처 | IBM 801 (1980년) |
특징 | |
명령어 길이 | 고정 길이 (일반적으로 32비트) |
명령어 형식 | 적은 수의 형식 (대부분 3가지 이하) |
주소 지정 방식 | 단순한 방식 (레지스터, 즉시, 변위) |
메모리 접근 | load/store 아키텍처 (메모리 접근은 load 및 store 명령어만 사용) |
레지스터 수 | 많은 수의 레지스터 (32개 이상) |
명령어 파이프라이닝 | 파이프라이닝에 최적화된 구조 |
제어 방식 | 하드와이어드 제어 방식 |
장점 | |
성능 | 파이프라이닝 효율 증가로 인한 높은 클럭 속도 |
전력 소비 | 낮은 전력 소비 |
설계 복잡성 | 단순한 명령어 세트로 인한 낮은 설계 복잡성 |
코드 크기 | 최적화된 컴파일러를 통해 코드 크기 감소 가능 |
단점 | |
명령어 수 | 복잡한 연산을 위해 더 많은 명령어 필요 |
코드 크기 | 일부 작업에서 CISC보다 큰 코드 크기 |
컴파일러 의존성 | 성능 최적화를 위한 컴파일러 기술 중요 |
대표적인 RISC 아키텍처 | |
활용 분야 | |
CISC와의 비교 | |
CISC | 복잡한 명령어 세트 (Complex Instruction Set Computer) |
RISC | 축소 명령어 세트 (Reduced Instruction Set Computer) |
주요 차이점 | 명령어 복잡성, 주소 지정 방식, 레지스터 수 |
2. 역사
1960년대부터 여러 시스템들이 최초의 RISC 아키텍처로 간주될 수 있는데, 이는 부분적으로 로드/스토어 접근 방식에 기반을 두었기 때문이다.[76] 버클리 RISC 프로젝트의 데이비드 패터슨이 RISC라는 용어를 만들었지만, 비슷한 개념은 이미 그 이전에 등장하였다.[77]
1964년 세이무어 크레이가 설계한 CDC 6600은 단 두 개의 어드레싱 모드(레지스터+레지스터, 레지스터+즉시 상수)와 74개의 연산 코드를 가진 로드-스토어 아키텍처를 사용했으며, 기본 클록 사이클은 메모리 접근 시간보다 10배 빨랐다.[6] 잭 동가라는 CDC 6600의 최적화된 로드-스토어 아키텍처로 인해 현대 RISC 시스템의 선구자로 간주할 수 있다고 말했지만, 현대 RISC 시스템 개발을 위해서는 여러 다른 기술적 장벽을 극복해야 했다.[7]
2. 1. RISC 개념의 등장
1960년대부터 로드/스토어 접근 방식에 기반한 시스템들이 RISC 개념의 시초로 여겨진다.[76] 버클리 RISC 프로젝트의 데이비드 패터슨이 RISC라는 용어를 만들었지만, 비슷한 개념은 그 이전에 등장했다.[77]1964년 세이무어 크레이가 설계한 CDC 6600은 단 두 개의 어드레싱 모드(레지스터+레지스터, 레지스터+즉시 상수)와 74개의 연산 코드를 가진 로드-스토어 아키텍처를 사용했으며, 기본 클록 사이클은 메모리 접근 시간보다 10배 빨랐다.[6] 잭 동가라는 CDC 6600의 최적화된 로드-스토어 아키텍처로 인해 현대 RISC 시스템의 선구자로 간주할 수 있다고 말했지만, 현대 RISC 시스템 개발을 위해서는 여러 다른 기술적 장벽을 극복해야 했다.[7]
마이클 J. 플린은 최초의 RISC 시스템을 존 코크가 1975년에 시작하여 1980년에 완성한 IBM 801 설계로 본다.[2] 801은 디지털 전화 교환기의 기반으로 사용할 24비트 고속 프로세서를 구축하려는 노력에서 개발되었다. 시간당 100만 통의 통화(초당 300 통화)를 처리하는 목표를 달성하기 위해, 그들은 CPU가 당시 가장 빠른 메인프레임 머신인 370/168이 3.5 MIPS를 처리하는 것과 비교하여 1,200만 MIPS 수준의 성능이 필요하다고 계산했다.[8][9]
이 설계는 IBM 고객으로부터 수집된 광범위한 통계 연구를 기반으로 했다. 이를 통해 고성능 환경의 코드가 프로세서 레지스터를 광범위하게 사용하며, 종종 레지스터가 부족하다는 것이 밝혀졌다. 또한 그들은 컴파일러가 사용 가능한 명령어의 대다수, 특히 직교 주소 지정 방식을 일반적으로 무시한다는 것을 발견했다. 대신, 그들은 주어진 명령어의 가장 빠른 버전을 선택한 다음 이를 사용하여 작은 루틴을 구성했다. 이는 대부분의 명령어를 제거해도 결과 코드에 영향을 미치지 않을 수 있음을 시사했다.[8]
1975년에 전화 교환기 프로그램은 취소되었지만, 시뮬레이션에서 레지스터를 최대한 활용하도록 조정된 컴파일러는 기존 설계보다 약 3배 빠르게 코드를 실행하는 것으로 나타났다. 동일한 코드는 향상된 레지스터 사용으로 인해 기존 머신에서도 약 50% 더 빠르게 실행되었다.[8]
801의 32비트 버전은 1981년 IBM ROMP로 단일 칩 형태로 제작되었으며, '연구 OPD [사무용품 사업부] 마이크로 프로세서'의 약자였다.[10] 이 CPU는 "미니" 작업을 위해 설계되었으며, 이후 IBM 컴퓨터의 주변 장치 인터페이스 및 채널 제어기에서 사용되었다. 1986년 IBM RT PC의 CPU로 사용되었지만 상업적으로 실패했다.[23] 801은 원래 형태로 널리 사용되지는 않았지만, IBM POWER 아키텍처로 이어질 IBM의 연구 프로젝트를 포함하여 많은 연구 프로젝트에 영감을 주었다.[11][12]
1970년대 후반, 801은 업계에서 널리 알려졌다. 1979년, 데이비드 패터슨은 캘리포니아 대학교 버클리에서 버클리 RISC 노력을 시작했다. DARPA VLSI 프로그램의 자금 지원을 받은 버클리 팀은 IBM과 마찬가지로 대부분의 프로그램이 다양한 명령어들을 거의 사용하지 않는다는 것을 발견했다.[15]
패터슨의 초기 연구는 마이크로코드를 제거하면 프로그램이 더 빠르게 실행될 것이라고 지적했다. 또한 특정 아키텍처의 마이크로코드 구현에서는 복잡한 연산이 동일한 작업을 수행하는 일련의 더 간단한 연산보다 "느린" 경향이 있다는 사실이 밝혀졌다. 한 가지 악명 높은 예는 VAX의 `INDEX` 명령어였다.[16]
버클리의 연구는 또한 프로그램이 서브루틴 호출 및 반환을 수행하는 데 상당한 시간을 소비한다는 사실을 발견했고, 레지스터 윈도우를 통해 서브루틴 성능을 크게 향상시켰다.[17] 그들은 또한 수학적 명령어의 대부분이 간단한 할당이며, 기본적인 산술 데이터 유닛에 더 많은 비중을 두었다.[15]
결과적인 버클리 RISC는 파이프라인과 레지스터 윈도우를 적극적으로 사용하여 성능을 얻었다.[16][17] 버클리 RISC 프로젝트는 1982년에 RISC-I 프로세서를 출시했다. 단 44,420개의 트랜지스터로 구성된 RISC-I는 32개의 명령어만 가지고 있었지만 다른 단일 칩 설계보다 뛰어난 성능을 보였다.[17]
RISC 프로젝트가 실리콘 밸리에서 알려지기 시작하면서, 1981년 스탠퍼드 대학교에서 MIPS 프로젝트가 시작되었다. MIPS 접근 방식은 공격적인 클럭 사이클과 파이프라인 사용을 강조했다.[19] 1984년에 존 레너드 헤네시와 그의 동료들은 설계를 상업적으로 생산하기 위해 MIPS Computer Systems를 설립했다.[19][20] 이 벤처는 MIPS라고 불리는 새로운 아키텍처와 1985년의 R2000 마이크로프로세서를 낳았다.[20]
2. 2. 초기 RISC 프로세서 개발 (1980년대)
1970년대 후반, IBM 등의 연구를 통해 실제 사용되는 프로그램을 분석한 결과, 여러 처리를 한 번에 수행하는 고기능 명령이나, 소위 '''직교성'''이 있는 명령과 어드레싱 모드의 조합 대부분은 실제 프로그램에서 사용되지 않는다는 것이 밝혀졌다. 이러한 조사 결과를 바탕으로 명령어 집합을 간소화하려는 시도가 이루어졌다.[67](1970년대의) IBM 801에 이어, 1980년대 존 헤네시와 데이비드 패터슨에 의해 RISC가 제안되었다.[68]

마이클 J. 플린은 최초의 RISC 시스템을 존 코크가 1975년에 시작하여 1980년에 완성한 IBM 801 설계로 본다.[2] 801은 디지털 전화 교환기의 기반으로 사용할 24비트 고속 프로세서를 구축하려는 노력에서 개발되었다. 1975년 전화 교환기 프로그램은 취소되었지만, 팀은 동일한 설계가 거의 모든 코드를 실행하는 데 상당한 성능 향상을 제공한다는 것을 입증했다.
801의 32비트 버전은 1981년 IBM ROMP로 단일 칩 형태로 제작되었으며, '연구 OPD [사무용품 사업부] 마이크로 프로세서'의 약자였다.[10] 이 CPU는 "미니" 작업을 위해 설계되었으며, 이후 IBM 컴퓨터의 주변 장치 인터페이스 및 채널 제어기에서 사용되었다. 1986년 IBM RT PC의 CPU로 사용되었지만 상업적으로 실패했다.[23] 801은 IBM POWER 아키텍처로 이어질 IBM의 연구 프로젝트를 포함하여 많은 연구 프로젝트에 영감을 주었다.[11][12]
1979년, 데이비드 패터슨은 캘리포니아 대학교 버클리에서 안식년을 받았다. DARPA VLSI 프로그램의 자금 지원을 받아, 패터슨은 버클리 RISC 노력을 시작했다. 버클리 팀은 IBM과 마찬가지로 대부분의 프로그램이 명령어들을 거의 사용하지 않는다는 것을 발견했다.[15]
버클리 연구는 프로그램이 서브루틴 호출 및 반환에 상당한 시간을 소비하며, 이러한 호출 속도를 높이면 전반적인 성능 향상이 가능하다는 사실을 밝혔다. 이는 레지스터 윈도우라고 알려진 방법을 선택하도록 이끌었다.[17]
버클리 RISC는 파이프라인과 레지스터 윈도우를 적극 활용하여 성능을 얻었다.[16][17] 레지스터 윈도우가 있는 CPU는 128개와 같이 많은 레지스터를 가지지만, 프로그램은 한 번에 8개와 같이 적은 수의 레지스터만 사용할 수 있다. 프로시저당 8개의 레지스터로 제한하면 매우 빠른 프로시저 호출이 가능하다.[18] 1982년 RISC-I 프로세서가 출시되었다. 44,420개의 트랜지스터로 구성된 RISC-I는 32개의 명령어만 가졌지만 다른 단일 칩 설계보다 뛰어난 성능을 보였다.[17] 1983년 40,760개의 트랜지스터와 39개의 명령어를 가진 RISC-II를 개발하여 RISC-I보다 3배 이상 빠르게 실행되었다.[17]
1981년 스탠퍼드 대학교에서 존 레너드 헤네시의 MIPS 프로젝트가 시작되었다. 1983년에 작동하는 시스템을 생산했고, 1984년까지 간단한 프로그램을 실행할 수 있었다.[19] MIPS는 공격적인 클럭 사이클과 파이프라인 사용을 강조했다.[19] MIPS-X가 나왔고, 1984년에 헤네시와 동료들은 MIPS Computer Systems를 설립했다.[19][20] 이 벤처는 MIPS와 1985년의 R2000 마이크로프로세서를 낳았다.[20]
2. 3. RISC의 발전과 확산 (1990년대 ~ 현재)
1980년대 후반, RISC 설계는 기존 CISC 설계를 능가하는 성능을 보였다. 다양한 RISC 프로세서가 등장했는데, 여기에는 DEC Alpha, AMD Am29000, Intel i860/i960, 모토로라 88000, IBM POWER, PowerPC 등이 포함된다.[1] 1990년대, 애플, IBM, 모토로라의 PowerPC 연합은 매킨토시 컴퓨터에 RISC 기술을 도입했다.[1] (이후 2005년 인텔 x86 프로세서로 전환)[1] ARM 아키텍처는 저전력, 고성능을 바탕으로 임베디드 시스템, 모바일 기기 시장을 장악했다.[1] RISC-V는 오픈 소스 표준 RISC ISA로, 연구 및 상업적 목적으로 활용되고 있다.[1]3. 특징
축소 명령어 집합 컴퓨터(RISC)는 명령어 집합을 최대한 단순화하여 설계한 컴퓨터 CPU 구조이다. RISC는 다음과 같은 특징들을 가지고 있다.
- 고정 길이 명령어: 명령어의 길이가 고정되어 있어 명령어 해석(디코딩) 속도가 빠르다. 가변 길이 명령어의 단점인 명령어 길이 판별 및 추출 시간을 줄이고, 명령어 프리페치를 통해 파이프라인 효율을 높인다.[70]
- 1클럭 연산: 모든 연산은 1클럭으로 실행되어 파이프라인 동작에 지연을 주지 않는다.
- 레지스터 중심 연산: 대부분의 연산은 레지스터 사이에서만 이루어지며, 메모리 접근은 로드(load) 및 스토어(store) 명령어로 제한된다.[70] 회로를 단순화하고 불필요한 메모리 접근을 줄인다.
- 와이어드 로직: 마이크로코드를 사용하지 않고 와이어드 로직(Wired Logic)으로 구현하여 높은 클럭 속도를 유지한다.
- 많은 수의 레지스터: 메모리 접근 횟수를 줄인다.
- 지연 실행: 파이프라인의 위험을 줄인다.
CISC와 달리 RISC는 하드웨어 스택 조작 명령어가 없으며, 스택 조작[71] 등은 단순 명령어를 조합하여 처리한다. 파이프라인 해저드는 컴파일러에서 명령어 순서를 최적화하여 회피한다. 상호 배제 등에 필요한 아토믹 명령은 RISC에서도 지원된다.
명령어 길이를 고정하면 파이프라인 처리 속도가 빨라지지만, 컴파일러 최적화 과정이 복잡해진다.
RISC는 현대 프로세서 디자인과 임베디드 프로세서에 주로 채택되며, 전력 소모가 적다.
펜티엄 등 CISC CPU도 내부적으로는 복잡한 명령을 단순 명령으로 나누어 파이프라인에서 처리하므로, 실제 작동 원리는 RISC와 유사하다.
"축소 명령어 집합 컴퓨터"(RISC)라는 용어는 명령어 개수 축소가 아닌, 단일 명령어가 수행하는 작업량 축소를 의미한다.[29] 실제로 RISC 명령어 집합은 시간이 지나면서 커졌으며, 일부 RISC는 CISC보다 큰 명령어 집합을 가지기도 한다.[30][31] PowerPC는 IBM System/370과 비슷한 크기의 명령어 집합을, DEC PDP-8은 8개의 기본 명령어와 몇 개의 확장 명령어만 가진다.[32] "로드-저장 아키텍처"라는 용어가 선호되기도 한다.
RISC는 컴파일러에 내부 작동을 노출시켜 'Relegate Interesting Stuff to the Compiler'(흥미로운 것은 컴파일러에 위임)라는 두문자어를 낳았다.[34][35]
RISC 칩은 트랜지스터 수가 적어 레지스터 용량 증가, 내부 병렬성 향상, 캐시 추가, I/O 및 타이머 추가, 벡터 프로세서 (SIMD 명령) 추가, 저전력화 및 소형화 등에 유리하다.
일반적인 RISC 디자인 특징은 다음과 같다.
- 고정 명령어 길이, 통일된 비트 필드 설계: 명령어 디코딩을 빠르게 한다.
- 범용 레지스터: 컴파일러 구현을 쉽게 한다. (단, 정수용과 부동 소수점 수용 레지스터는 구분)
- 단순한 어드레싱 모드: 복잡한 어드레싱은 연산 명령 조합으로 구현.
- 적은 하드웨어 지원 데이터 형식: CISC의 문자열, 비트 스트링 처리, 다항식, 복소수 처리 명령 등은 RISC에 없으나, 최신 아키텍처는 SIMD 명령용 데이터 형식 지원.
3. 1. 기본 특징
- 고정 길이 명령어를 사용하여 명령어 해석 속도가 빠르다.[70]
- 모든 연산은 하나의 클럭으로 실행되어 파이프라인 동작에 지연을 주지 않는다. 초기 아키텍처에서는 곱셈, 나눗셈 명령어를 생략하고, 여러 명령어를 조합하여 곱셈, 나눗셈을 구현했다.
- 레지스터 간 연산만 실행하며, 메모리 접근은 로드(load), 스토어(store) 명령어로 제한된다.[70] 회로를 단순화하고, 메모리 접근의 지연시간(레이턴시)가 파이프라인 동작에 악영향을 주는 것을 피한다. 메모리에 영향을 주는 명령어는 로드, 스토어 명령어뿐이며, 일반적으로 메모리 상의 데이터에 대한 명시적인 연산은 수행되지 않는다.
- 마이크로코드를 사용하지 않고 와이어드 로직(하드웨어)으로 구현하여, 높은 클럭 속도를 유지할 수 있다.
- 많은 수의 레지스터를 사용하여 메모리 접근을 줄인다. 연산의 중간 결과를 CPU 내에 축적하여, 메모리 접근을 줄여 지연을 피한다.
- 지연 실행 슬롯을 사용하여 파이프라인의 위험을 줄인다.
3. 2. 추가 특징 (일부 아키텍처)
RISC는 하버드 아키텍처를 실현한 것이라고도 한다. 개념적으로 명령 코드의 흐름과 데이터의 흐름이 분리되어 있기 때문이다[72]。이로 인해, 명령 캐시와 데이터 캐시에 동시에 접근할 수 있어, 성능 향상에 기여한다.초기 RISC 설계에는 분기 지연 슬롯 구조도 있었다. 이는 분기 명령이나 조건 분기의 바로 다음 명령을 가리키며, 조건 분기에서 조건의 성립 여부에 관계없이 반드시 실행된다(반대로 말하면 분기의 효력이 발휘되는 것이 늦어진다). 분기 명령 처리 중에도 ALU에 작업을 시켜, 분기에 걸리는 오버헤드를 숨기기 위한 방법이다. 현재는 CPU 속도와 메모리 접근 속도의 차이가 커지고, 슈퍼스칼라 구성을 취하는 경우에는 지연 슬롯에 적절한 개수가 바뀌는 등 구현의 영향을 받기 때문에 좋지 않은 구조로 여겨지고 있으며, 최근의 RISC에서는 구현되지 않는 추세이다.
4. RISC와 CISC 비교
RISC는 단순한 명령어 집합, 고정 길이 명령어, 로드/스토어 아키텍처, 많은 레지스터를 특징으로 하고, CISC는 복잡한 명령어 집합, 가변 길이 명령어, 다양한 어드레싱 모드를 가진다.[33] RISC는 명령어 해석 속도가 빠르고, 모든 연산이 하나의 클럭으로 실행되어 파이프라인 처리에 유리하다. 메모리 접근은 로드/스토어 명령어로 제한되어 회로가 단순하고 불필요한 메모리 접근을 줄인다.[29]
CISC는 하드웨어가 스택을 지원하지만, RISC는 소프트웨어로 스택을 구현한다. RISC는 컴파일러 최적화를 통해 파이프라인 위험을 줄인다.[34][35] 초기 RISC는 명령어 길이가 32비트로 고정되어 프로그램 크기가 커지고 코드 밀도가 낮다는 단점이 있었다.
하지만 현대에는 RISC와 CISC의 구분이 모호해졌다. x86 프로세서는 내부적으로 RISC 구조를 도입하고, RISC 프로세서는 복잡한 명령어를 추가하는 추세다.
1970년대 후반, IBM 등의 연구에 따르면 실제 프로그램에서는 복잡한 명령어나 다양한 어드레싱 모드가 잘 사용되지 않았다. 이는 프로그래밍 방식이 어셈블리 언어에서 고급 언어와 컴파일러를 사용하는 방식으로 변화했기 때문이다. 또한, 복잡한 명령어가 단순한 명령어 조합보다 느린 경우도 있었다.[72]
앤드루 타넨바움의 연구는 프로그램에서 사용되는 상수 값의 대부분이 13비트 이내라는 것을 보여주었다. RISC는 이를 활용하여 명령어 내에 상수를 직접 포함시켜 메모리 접근을 줄였다.
RISC는 ''로드/스토어 아키텍처''라고도 불리며, 모든 연산이 레지스터 간에 이루어지고 메모리 접근은 레지스터와 메모리 간 전송으로 제한된다.
1980년대 초, CPU 설계는 한계에 직면했지만, 명령 파이프라인, 분기 예측, 슈퍼스칼라 등의 기술 도입으로 성능이 향상되었다. RISC는 단순한 구조 덕분에 이러한 기술을 도입하기 유리했다.
2009년 현재, RISC와 CISC의 단순 비교는 의미가 없어졌다. x86 프로세서는 내부적으로 RISC를 도입하고, RISC 프로세서는 명령어를 추가하고 있기 때문이다.
시장별로 보면, 임베디드 시스템 시장에서는 RISC가 우세하고, 개인용 컴퓨터 시장에서는 CISC(x86)가 주류였으나, Apple 실리콘과 같은 커스텀 칩의 등장으로 RISC(ARM)의 영향력이 커지고 있다. UNIX 서버 및 워크스테이션 시장에서는 CISC(x86)가 다수이며, RISC는 하이엔드를 중심으로 남아있다.
5. RISC 아키텍처의 활용
RISC 아키텍처는 현재 스마트폰과 태블릿 컴퓨터에서부터 후가쿠와 같은 세계에서 가장 빠른 슈퍼컴퓨터에 이르기까지 다양한 플랫폼에서 사용되고 있다. 2020년 11월 기준으로 TOP500 목록에서 가장 빠른 것은 후가쿠이며, 서밋, 시에라, 선웨이 타이후라이트가 그 뒤를 잇고 있다.[55]
초기 RISC는 개발 당시에는 RISC로 인식되지 않았다. 1964년에 Seymour Cray와 짐 손턴이 설계한 CDC 6600 슈퍼컴퓨터가 그 예이다. 손턴과 크레이는 수치 계산을 위해 단 74개의 명령어를 가진 CPU와 주변 프로세서(OS의 대부분이 여기서 실행됨)라고 불리는 12종의 단순한 컴퓨터를 설계했다. CDC 6600에는 단 두 개의 어드레싱 모드밖에 없었다. 1968년에 설계된 데이터 제너럴의 Nova 또한 초기 로드/스토어 머신 중 하나이다.
가장 널리 알려진 RISC는 DARPA의 VLSI 계획의 일환으로 이루어진 대학에서의 연구이다. 캘리포니아 대학교 버클리의 RISC 프로젝트는 데이비드 패터슨의 지휘 아래 1980년에 시작되었다. 이 프로젝트는 파이프라인과 레지스터 윈도우를 활용하는 것을 기본 아이디어로 삼았다. 1982년에 RISC-I이 완성되었고, 1983년에는 RISC-I의 3배 성능을 가진 RISC-II가 등장했다.
같은 시기에, 존 L. 헤네시는 1981년, 스탠퍼드 대학교에서 MIPS 프로젝트를 시작했다. MIPS는 명령 파이프라인을 최대한 작동시키는 것을 목표로 했다.
1975년 IBM은 칩 위에 RISC CPU를 만드는 최초의 시도를 했으며, IBM 801로 명명된 프로세서 패밀리는 IBM의 머신에 널리 적용되었다. 1981년에 제조된 단일 칩 ROMP는 1986년에 IBM RT-PC에 사용되었지만, 성능에는 문제가 있었다. 그럼에도 불구하고, 801은 POWER를 탄생시키는 등 여러 프로젝트를 낳았다.
초기 RISC는 단순하고 작지만 높은 성능을 발휘한다는 점이 알려졌지만, 연구실 수준에 머물렀다. 하지만 1986년 무렵, 각 연구 프로젝트의 성과가 제품으로 나타나기 시작했다.
5. 1. 저전력/임베디드 시스템
ARM 계열은 저전력 및 저가형 임베디드 시스템 시장을 장악하고 있으며(2014년 기준 200~1800MHz), 안드로이드 기반 시스템, 애플의 아이폰, 아이팟 터치, 아이패드, 애플 워치, Apple TV, 팜, 마이크로소프트 윈도우 폰, RIM 기기, 닌텐도의 게임보이 어드밴스, DS, 3DS, 스위치, 라즈베리 파이 등 다양한 시스템에 사용된다.[56]MIPS 계열은 플레이스테이션, 플레이스테이션 2, 닌텐도 64, 플레이스테이션 포터블 게임 콘솔, 가정용 게이트웨이 (예: 링크시스 WRT54G 시리즈) 등에 사용되었다.[56]
히타치의 SuperH는 원래 세가의 슈퍼 32X, 새턴 및 드림캐스트에서 광범위하게 사용되었으며, 현재 르네사스에서 SH4로 개발 및 판매하고 있다.[56]
Atmel AVR은 Xbox 휴대용 컨트롤러 및 아두이노 오픈 소스 마이크로컨트롤러 플랫폼에서 BMW 자동차에 이르기까지 다양한 제품에 사용된다.[56]
5. 2. 데스크톱/노트북 컴퓨터
과거 애플 매킨토시 컴퓨터는 PowerPC 아키텍처를 사용했으나, 2005년 인텔 x86 프로세서로 전환했다.[57] 현재 애플 Mac은 자체 설계한 ARM 기반 애플 실리콘 프로세서를 사용하며, 2020년 11월에 최초의 컴퓨터가 출시되었다.[59][50] 일부 크롬북은 2012년부터 ARM 기반 플랫폼을 사용한다.[58] 마이크로소프트는 퀄컴[60] ARM 프로세서를 서피스 라인에 사용한다.5. 3. 워크스테이션/서버/슈퍼컴퓨터
SPARC은 오라클(구 썬 마이크로시스템즈)과 후지쯔에서 서버 및 워크스테이션에 사용한다.[55] IBM의 POWER, PowerPC, Power ISA는 IBM의 슈퍼컴퓨터, 서버, 워크스테이션에 사용되었다.[55] ARM은 서버 시장에서 점유율을 확대하고 있으며, 후가쿠와 같은 슈퍼컴퓨터에도 사용된다. (예: AWS Graviton)[61] RISC-V는 유럽 프로세서 이니셔티브 프로세서에 구현되어 있다.[55]5. 4. 오픈 소스 RISC
RISC 아키텍처는 구현이 비교적 간단하여 FPGA 구현 및 프로토타입 제작에 적합하기 때문에 오픈 소스 하드웨어와 소프트 마이크로프로세서에서 인기를 얻고 있다. 예를 들어 다음과 같다.- OpenRISC: 2000년에 처음 소개된 오픈 명령어 집합 및 마이크로 아키텍처.
- 오픈 MIPS 아키텍처: 2019년 일부 기간 동안 등록된 MIPS 개발자는 사양을 로열티 없이 무료로 사용할 수 있었다.[62]
- OpenSPARC: 2005년, Sun은 GPLv2 라이선스 하에 Ultra Sparc 문서 및 사양을 공개했다.
- LEON: SPARC V8 명령어 집합의 오픈 소스, 방사선 내성 구현(우주 응용 분야 대상).
- Libre-SOC: 비디오 및 3D 그래픽을 위한 확장이 포함된 Power ISA 기반의 오픈 소스 시스템 온 칩.
- RISC-V: 2010년, 버클리 RISC 버전 5 사양, 툴 체인 및 브랜드가 비상업적 목적으로 무료로 제공되었다.[63]
- SuperH - J Core: 2015년, 특허가 만료된 히타치 SuperH RISC ISA의 클린 룸 구현을 제공하는 프로젝트가 시작되었다.
- ARM DesignStart: 2018년, ARM은 FPGA 공급업체인 Xilinx와 제휴하여 일부 구형 CPU 코어에 대한 FPGA 사양을 포함하여 ARM의 일부 IP에 대한 무료 액세스를 제공하기 시작했다.[64]
6. 주요 RISC 프로세서
RISC의 주요 프로세서는 다음과 같다.
프로세서 | 개발 | 설명 |
---|---|---|
SPARC | 썬 마이크로시스템즈, 후지쯔 | 버클리 RISC-II 디자인을 기반으로 개발되었다. 썬의 새로운 기종에 널리 사용되었고, RISC의 효과를 알리는 데 기여했다. 현재는 후지쯔의 서버 전용으로 소수 생산되고 있다. |
MIPS | 밉스 컴퓨터 시스템즈 | R2000을 시작으로 상용화되었다. 플레이스테이션이나 닌텐도 64 등의 게임기에 사용되었으며, 현재는 임베디드 시스템용 하이엔드 프로세서로 유명하다. |
POWER, PowerPC | IBM | IBM은 RT PC의 실패를 바탕으로 POWER 아키텍처를 설계, RS/6000의 기반으로 삼았다. PowerPC는 POWER를 소규모화한 것으로, 1994년부터 2006년까지 매킨토시에 사용되었다. 슈퍼컴퓨터에서 임베디드 시스템까지 폭넓게 사용되고 있다. |
ARM | Acorn→ARM Ltd | Acorn의 Archimedes 등에 탑재된 후, 애플과 Newton용 프로세서 공동 개발을 위해 프로세서 개발 부문이 ARM으로 독립했다. 저전력에 주력한 설계가 특징이며, 안드로이드 스마트폰을 비롯한 임베디드용 시장에서 높은 점유율을 차지하고 있다. |
SuperH | 히타치 제작소→르네사스 일렉트로닉스 | 임베디드 시스템용으로, SH-1~SH-5가 있다. 코드 사이즈 효율화를 위해 고정 명령어를 16비트로 설계했다. 세가의 게임기에도 사용되었다. |
OpenRISC | OpenCores 커뮤니티 | 오픈 소스 하드웨어로, 하드웨어 디자인은 GNU LGPL, 모델과 펌웨어는 GNU GPL로 공개되어 있다. |
RISC-V | 캘리포니아 대학교 버클리 | 오픈 소스이며 자유로운 명령어 세트를 제공한다. 하드웨어 구현은 기업 및 개발자에 의해 이루어진다. |
V850 | NEC→르네사스 일렉트로닉스 | |
M32R | 미쓰비시 전기→르네사스 일렉트로닉스 | |
Atmel AVR | ||
ESi-RISC |
6. 1. 현행 프로세서
프로세서 | 개발 | 설명 |
---|---|---|
SPARC | 썬 마이크로시스템즈, 후지쯔 | 버클리 RISC-II 디자인을 기반으로 썬 마이크로시스템즈에서 개발했다. 썬의 새로운 기종에 널리 사용되었고, RISC의 효과를 알리는 데 기여했다. 1990년대 후반 워크스테이션 시장이 x86 아키텍처의 PC에 밀려 소멸하면서, 현재는 후지쯔의 서버 전용으로 소수 생산되고 있다. |
MIPS | 밉스 컴퓨터 시스템즈 | 존 헤네시가 설립한 밉스 컴퓨터 시스템즈에서 상용화 설계를 진행, 첫 제품은 2세대 MIPS 칩 R2000이었다. 플레이스테이션이나 닌텐도 64 등의 게임기에 사용되었으며, 현재는 임베디드 시스템용 하이엔드 프로세서로 유명하다. |
POWER, PowerPC | IBM | IBM은 RT PC의 실패를 바탕으로 POWER 아키텍처를 설계, RS/6000의 기반으로 삼았다. PowerPC는 POWER를 소규모화한 것으로, 1994년부터 2006년까지 매킨토시에 사용되었다. 슈퍼컴퓨터에서 임베디드 시스템까지 폭넓게 사용되었으며, 가정용 게임기에도 많이 사용되었다. |
ARM | Acorn→ARM Ltd | Acorn의 Archimedes 등에 탑재된 후, 애플과 Newton용 프로세서 공동 개발을 위해 프로세서 개발 부문이 ARM으로 독립했다. 저전력에 주력한 설계가 특징이며, 안드로이드 스마트폰을 비롯한 임베디드용 시장에서 높은 점유율을 차지하고 있다. 서버 팜이나 닌텐도 DS 등의 휴대용 게임기에도 사용된다. |
SuperH | 히타치 제작소→르네사스 일렉트로닉스 | 임베디드 시스템용으로, SH-1~SH-5가 있다. 코드 사이즈 효율화를 위해 고정 명령어를 16비트로 설계했다. 세가의 게임기에도 사용되었다. |
OpenRISC | OpenCores 커뮤니티 | 오픈 소스 하드웨어로, 하드웨어 디자인은 GNU LGPL, 모델과 펌웨어는 GNU GPL로 공개되어 있다. |
RISC-V | 캘리포니아 대학교 버클리 | 오픈 소스이며 자유로운 명령어 세트를 제공한다. 하드웨어 구현은 기업 및 개발자에 의해 이루어진다. |
V850 | NEC→르네사스 일렉트로닉스 | |
M32R | 미쓰비시 전기→르네사스 일렉트로닉스 | |
Atmel AVR | ||
ESi-RISC |
6. 2. 단종된 프로세서
- ROMP (IBM): 세계 최초의 상용 RISC 칩으로 RT-PC에 탑재되었지만, 널리 보급되지 못하고 이후 POWER로 계승되었다.
- i860/i960 (인텔)
- 88000 (모토로라): 거의 판매되지 않아, 모토로라는 곧 IBM의 PowerPC 제조에 참여했다.
- 29000 (AMD): 1990년대 초 인기 있는 RISC 프로세서 중 하나였다. PostScript 프린터의 인터프리터 처리 프로세서로 널리 사용되었다.
- PA-RISC (HP): HP의 워크스테이션에서 사용되었다. 아이테니엄으로의 이행에 따라, PA-RISC 탑재 머신의 출하는 중단되었지만, 구형 시스템에서는 2011년 현재도 이용되는 경우가 있다.
- Alpha (DEC): 64비트 구조 CPU로, 워크스테이션 및 임베디드 용도에 사용되었다. RISC CPU 중에서도 최고 속도를 자랑했지만, 1997년 인텔로부터 11건의 특허 침해로 소송을 당해 15억달러에 인수합병으로 화해했다. DEC가 컴팩에 인수된 후, 컴팩은 HP에 인수되어 쇠퇴의 길을 걸었다. 인텔에 양도된 개발팀은 각 회사로 흩어져, 각각 다른 RISC CPU에 종사하고 있다. 2016년 6월 세계 최고 속도로 평가받은 슈퍼컴퓨터 선웨이 타이후의 빛의 기반이 되었다.
참조
[1]
웹사이트
Pipelining
https://cs.stanford.[...]
[2]
서적
Computer Architecture: Pipelined and Parallel Processor Design
Jones & Bartlett Learning
[3]
웹사이트
Japan's Fugaku gains title as world's fastest supercomputer
https://www.riken.jp[...]
2020-06-24
[4]
서적
Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools
https://archive.org/[...]
Elsevier
[5]
서적
Milestones in computer science and information technology
https://archive.org/[...]
Greenwood Publishing
[6]
서적
Assembly Language Programming for the Control Data 6000 Series and the Cyber 70 Series
Algorithmics Press
[7]
서적
Numerical Linear Algebra on High-Performance Computers
https://archive.org/[...]
[8]
간행물
The evolution of RISC technology at IBM
https://www.cis.upen[...]
1990-01
[9]
tech report
IBM System/370 System Summary
http://www.beagle-ea[...]
IBM
1987-01
[10]
서적
Processor architecture: from dataflow to superscalar and beyond
https://archive.org/[...]
Springer
[11]
서적
Processor design: system-on-chip computing for ASICs and FPGAs
https://archive.org/[...]
Springer
[12]
서적
Readings in computer architecture
Gulf Professional
[13]
잡지
Design Philosophy Behind Motorola's MC68000
http://www.easy68k.c[...]
1983-05
[14]
웹사이트
RISCy History
https://www.sigarch.[...]
2018-05-30
[15]
웹사이트
Example: Berkeley RISC II
http://euler.mat.uso[...]
[16]
간행물
The case for the reduced instruction set computer
[17]
conference
RISC I: A Reduced Instruction Set VLSI Computer
http://dl.acm.org/ci[...]
[18]
conference
Design and Implementation of RISC I
http://www.eecs.berk[...]
1982-07
[19]
서적
The MIPS-X RISC microprocessor
Springer
[20]
문서
[21]
conference
Code Density Concerns for New Architectures
http://web.eece.main[...]
[22]
웹사이트
The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA version 2.0
https://www2.eecs.be[...]
University of California, Berkeley
2022-03-01
[23]
문서
Funding a Revolution: Government Support for Computing Research
[24]
간행물
Speciation through entrepreneurial spin-off: The Acorn-ARM story
http://www2.sa.unibo[...]
2011-06-02
[25]
서적
Computer science handbook
https://archive.org/[...]
Taylor & Francis
[26]
뉴스
Olivetti buys RISC card
https://archive.org/[...]
Acorn User
2021-05-24
[27]
웹사이트
Arm searches for growth beyond smartphones
https://www.ft.com/c[...]
2024-06-23
[28]
잡지
What is RISC?
https://archive.org/[...]
2023-03-20
[29]
서적
The RISC Concept — A Survey of Implementations
Freie Universitat Berlin
1991-09
[30]
웹사이트
RISC vs. CISC: the Post-RISC Era
https://arstechnica.[...]
[31]
뉴스
RISC versus CISC
http://www.borrett.i[...]
Australian Personal Computer
1991-06
[32]
웹사이트
Doug Jones's DEC PDP-8 FAQs
http://homepage.cs.u[...]
[33]
서적
Guide to RISC Processors for Programmers and Engineers
https://archive.org/[...]
Springer
[34]
웹사이트
CISC and RISC
https://blogs.sw.sie[...]
2016-04-18
[35]
서적
Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools
https://books.google[...]
Elsevier
2005
[36]
논문
Static and Dynamic Characteristics of XPL Programs
https://ieeexplore.i[...]
1975-11
[37]
웹사이트
Encoding MIPS Instructions
https://www.dcc.fc.u[...]
[38]
웹사이트
ARM Thumb Instruction Set
https://www.embedded[...]
2003-09-24
[39]
간행물
Worth the RISC
https://archive.org/[...]
1989-02
[40]
논문
Instruction Sets and Beyond: Computers, Complexity and Controversy
https://archive.org/[...]
The Institute of Electrical and Electronics Engineers, Inc.
2023-03-25
[41]
문서
Microprocessors From the Programmer's Perspective
http://www.ddj.com/a[...]
Andrew Schulman
1990
[42]
conference
The RISC Workstation
https://archive.org/[...]
Online Publications
2024-03-26
[43]
서적
High Performance Computing
https://archive.org/[...]
O'Reilly
[44]
웹사이트
Microsoft unveils new ARM server designs, threatening Intel's dominance
https://www.theverge[...]
2017-03-09
[45]
뉴스
Cavium Unveils ThunderX2 Plans, Reports ARM Traction is Growing
https://www.hpcwire.[...]
HPC Wire
2016-05-31
[46]
뉴스
AMD's first ARM-based processor, the Opteron A1100, is finally here
https://www.extremet[...]
ExtremeTech
2016-08-14
[47]
뉴스
Cray to Deliver ARM-Powered Supercomputer to UK Consortium
https://www.top500.o[...]
Top500.org
2017-01-18
[48]
웹사이트
Microsoft is bringing Windows desktop apps to mobile ARM processors
https://www.theverge[...]
2016-12-08
[49]
웹사이트
How x86 emulation works on ARM
https://learn.micros[...]
2023-10-27
[50]
보도자료
Introducing the next generation of Mac
https://www.apple.co[...]
Apple Inc.
2020-11-10
[51]
보도자료
macOS Big Sur is here
https://www.apple.co[...]
Apple Inc.
2020-11-12
[52]
서적
Schaum's Outline of Computer Architecture
https://books.google[...]
McGraw Hill Professional
[53]
웹사이트
CISC, RISC, and DSP Microprocessors
http://www.ifp.uiuc.[...]
2000
[54]
웹사이트
A History of Apple's Operating Systems
http://www.kernelthr[...]
[55]
웹사이트
Top 500 The List: November 2020
https://www.top500.o[...]
2021-01-02
[56]
서적
2005
[57]
뉴스
Apple shifting from PowerPC to Intel
https://www.computer[...]
2005
[58]
웹사이트
Review: The ARM-powered Samsung Chromebook
https://www.zdnet.co[...]
2021-04-28
[59]
뉴스
Apple starts its two-year transition to ARM this week
https://www.engadget[...]
2020-06-22
[60]
웹사이트
Microsoft to launch a new ARM-based Surface this fall
https://bgr.com/tech[...]
2023-03-20
[61]
웹사이트
ARM Processor - AWS Graviton Processor - AWS
https://aws.amazon.c[...]
2024-01-09
[62]
웹사이트
Wave Computing Shutters MIPS Open Programme with Immediate Effect
https://abopen.com/n[...]
2024-06-23
[63]
웹사이트
Branding Guidelines – RISC-V International
https://riscv.org/ab[...]
2024-06-23
[64]
웹사이트
Arm Expands Design Possibilities with Free Cortex-M Processors for Xilinx FPGAs
https://newsroom.arm[...]
2024-06-23
[65]
웹사이트
Recipients of the Charles Stark Draper Prize for Engineering
https://www.nae.edu/[...]
[66]
웹사이트
Charles Stark Draper Prize for Engineering
https://www.nae.edu/[...]
[67]
문서
例えば、カウンタレジスタをデクリメントし、減算結果が非ゼロであればジャンプし、ゼロであれば後続の命令を実行する、ループを構成するのに便利な命令や、文字列を転送するストリング命令など
[68]
Youtube
RISCムーブメントが「IBM以外」で起きた、その理由 - ITMedia
https://www.itmedia.[...]
[69]
문서
"RISC I: A REDUCED INSTRUCTION SETVLSI COMPUTER"
http://web.cecs.pdx.[...]
[70]
문서
ヘネシー&パターソン, p.478
[71]
문서
データの退避や復帰、割り込み発生時のレジスタの退避、[[サブルーチン]]からリターンする際のアドレスの保存など。
[72]
문서
これは特別な同期命令を実行するまで、コードが存在する位置のメモリを書き換えても命令実行に影響しないということである。なぜならCPUは分離された命令キャッシュとデータキャッシュを持っているため
[73]
문서
通常のCPUでは、サブルーチンコール時にレジスタの内容をメモリのスタック領域に退避させ、復帰するときにメモリからレジスタに戻す
[74]
논문
20世紀の名著名論
情報処理学会
2005-03
[75]
웹사이트
IntelとDEC、電撃提携でMPUの勢力地図が変わる
https://pc.watch.imp[...]
インプレス
1997-10-31
[76]
서적
Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools
https://archive.org/[...]
[77]
서적
Milestones in computer science and information technology
https://archive.org/[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com